/*
This file is part of AI Agent Feed.

"AI Agent Feed" is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

"AI Agent Feed" is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with "AI Agent Feed".  If not, see <http://www.gnu.org/licenses/>.
 */
package com.feed.services.status;

import java.util.Collection;
import java.util.List;

import org.joda.time.DateTime;

import com.feed.domain.FeedProvider;
import com.feed.domain.FeedStatusCategory;

public interface FeedStatusService {

    List<FeedStatus> getStatusAllProcessors();
    List<FeedStatus> getStatus(String siteName);
    
    FeedStatus initFeedStatus(String processor, FeedProvider feedSource, long scheduleIntervalInMinutes, Integer maxIntervalHours);
    void updateStatus(String processor, Collection<FeedStatusCategory> statii, DateTime checkTime);
    
    // TODO: rename methods
	DateTime getLastProcessed(String processor);
	//Added to get Last checked Timestamp for a given processor from feed_status Table
	DateTime getLastCheckedTime(String processor);

	List<FeedStatusCategory> getAggregatedCategories(String site);
	List<FeedStatusCategory> getAllCategories(String siteName);
}
